package easy

func IncremovableSubarrayCount(nums []int) int {
	n := len(nums)
	res := 0
	for i := 0; i < n; i++ {
		for j := i; j < n; j++ {
			if IsIncreasing(nums, i, j) {
				res++
			}
		}
	}
	return res
}
func IsIncreasing(nums []int, l, r int) bool {
	for i := 1; i < len(nums); i++ {
		if i >= l && i <= r+1 {
			continue
		}
		if nums[i] <= nums[i-1] {
			return false
		}
	}
	if l-1 >= 0 && r+1 < len(nums) && nums[r+1] <= nums[l-1] {
		return false
	}
	return true
}
func IncremovableSubarrayCount1(nums []int) int {
	n := len(nums)
	res := 0
	l := 1
	for l < n && nums[l-1] < nums[l] {
		l++
	}
	res += l
	if l < n {
		res += 1
	}
	for r := n - 2; r >= 0; r-- {
		for l > 0 && nums[l-1] >= nums[r+1] {
			l--
		}
		res += l
		if l <= r {
			res += 1
		}
		if nums[r] >= nums[r+1] {
			break
		}
	}
	return res
}
